home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1256 / tour003.co_ / tour003.co
Text File  |  1997-04-18  |  15KB  |  419 lines

  1.       *---Created with EasyCODE(COB)----------------------------------- # EASY O
  2.       *---Last modification: 01.03.1995 14:23:21----------------------- # EASY K
  3.       *This program is used to start the procedures "Collect", "Book", \
  4.       *"Show current session info" and "Show employees' statistics" and\
  5.       * to terminate a session.
  6.       *---------------------------------------------------------------- # EASY *
  7.       *---------------------------------------------------------------- # EASY (
  8.       *TOUR003
  9.       *---------------------------------------------------------------- # EASY *
  10.        IDENTIFICATION DIVISION.
  11.       *---------------------------------------------------------------- # EASY (
  12.       **** Identification Division ***
  13.       *---------------------------------------------------------------- # EASY *
  14.        PROGRAM-ID. TOUR003.
  15.       *
  16.       *
  17.       * THIS PROGRAM IS USED TO START THE PROCEDURES
  18.       *
  19.       *    1.) COLLECT,
  20.       *    2.) BOOK,
  21.       *    3.) SHOW SESSION INFO
  22.       *        AND
  23.       *    4.) SHOW EMPLOYEES' STATISTICS
  24.       *
  25.       * AND TO TERMINATE A SESSION.
  26.       *
  27.       * ATTENTION : THE TAC OF THIS PROGRAM COMES FROM THE
  28.       *              MENU MASK AND IS "MENU" !
  29.       *
  30.       *
  31.       *---------------------------------------------------------------- # EASY )
  32.        ENVIRONMENT DIVISION.
  33.        DATA DIVISION.
  34.       *---------------------------------------------------------------- # EASY (
  35.       **** Data Division ***
  36.       *---------------------------------------------------------------- # EASY *
  37.       *---------------------------------------------------------------- # EASY (
  38.       **** WORKING-STORAGE Section ***
  39.       *---------------------------------------------------------------- # EASY *
  40.        WORKING-STORAGE SECTION.
  41.        77 ERRORMESSAGE-1       PIC X(80) VALUE
  42.        "WRONG FUNCTION - PLEASE RETRY".
  43.        77 ERRORMESSAGE-2       PIC X(80) VALUE
  44.        "SYSTEM FAILURE - NO SESSION INFO AVAILABLE".
  45.        77 ERRORMESSAGE-3       PIC X(80) VALUE
  46.        "SYSTEM FAILURE - NO EMPLOYEES' STATISTICS AVAILABLE".
  47.       
  48.        COPY KCOPC.
  49.        COPY KCDFC.
  50.       *                                 # EASY S
  51.       *---------------------------------------------------------------- # EASY )
  52.       *---------------------------------------------------------------- # EASY (
  53.       **** LINKAGE Section ***
  54.       *---------------------------------------------------------------- # EASY *
  55.        LINKAGE SECTION.
  56.      COPY KCKBC.
  57.         05 MENU-MESSAGE  PIC X(80).
  58.       
  59.      COPY KCPAC.
  60.       
  61.         03 EMPLOYEE.
  62.            COPY EMPLOYEE.
  63.       
  64.         03 SESSION.
  65.            COPY SESSION.
  66.       
  67.         03 INPUT-AREA.
  68.            06 INPUT-MENU.
  69.           COPY MENU.
  70.       
  71.         03 OUTPUT-AREA     PIC X(118).
  72.       
  73.         03 SESSINFO REDEFINES OUTPUT-AREA.
  74.           COPY SESSINFO.
  75.       
  76.         03 EMPLSTAT  REDEFINES OUTPUT-AREA.
  77.           COPY EMPLSTAT.
  78.           41  FILLER  PIC X(12).
  79.       
  80.         03 INTERNAL-MESSAGE REDEFINES OUTPUT-AREA.
  81.            COPY INTMESS.
  82.           41  FILLER  PIC X(14).
  83.       
  84.         03 ERROR-LINE REDEFINES OUTPUT-AREA.
  85.            05 RET-CODE    PIC X(3).
  86.            05 OCCURRED-AT          PIC X(5).
  87.            05 OP-CODE     PIC X(4).
  88.            05 FILLER      PIC X(106).
  89.       
  90.         03 PEND-MODE      PIC X(2).
  91.         03 NEXT-TAC       PIC X(8).
  92.       *                                 # EASY S
  93.       *---------------------------------------------------------------- # EASY )
  94.       *---------------------------------------------------------------- # EASY )
  95.        PROCEDURE DIVISION USING KCKBC KCSPAB.
  96.       *---------------------------------------------------------------- # EASY (
  97.       **** Procedure Division ***
  98.       *---------------------------------------------------------------- # EASY *
  99.       *---------------------------------------------------------------- # EASY (
  100.       **** INIT-OPERATION ***
  101.       *---------------------------------------------------------------- # EASY *
  102.        INIT-OPERATION.
  103.        MOVE INIT TO KCOP
  104.       *                                 # EASY -
  105.        MOVE 80 TO KCLKBPRG
  106.       *                                 # EASY -
  107.        MOVE 1000 TO KCLPAB
  108.        CALL "KDCS"
  109.        USING
  110.        KCPAC
  111.        IF KCRCCC NOT = "000"
  112.        THEN
  113.           PERFORM ERROR-MPUT-OPERATION
  114.           PERFORM ERROR-PEND-OPERATION
  115.        END-IF
  116.        .
  117.       *                                 # EASY P
  118.       *---------------------------------------------------------------- # EASY )
  119.       *---------------------------------------------------------------- # EASY (
  120.       **** MGET-OPERATION ***
  121.       *---------------------------------------------------------------- # EASY *
  122.        MGET-OPERATION.
  123.        MOVE MGET TO KCOP
  124.       *                                 # EASY -
  125.        MOVE 89 TO KCLA
  126.       *                                 # EASY -
  127.        MOVE "*MENU" TO KCMF
  128.        CALL "KDCS"
  129.        USING
  130.        KCPAC, INPUT-MENU
  131.        IF KCRCCC NOT = "000"
  132.        THEN
  133.           PERFORM ERROR-MPUT-OPERATION,
  134.           PERFORM ERROR-PEND-OPERATION
  135.        END-IF
  136.        .
  137.       *                                 # EASY P
  138.       *---------------------------------------------------------------- # EASY )
  139.       *---------------------------------------------------------------- # EASY (
  140.       **** PROCESSING ***
  141.       *---------------------------------------------------------------- # EASY *
  142.        PROCESSING.
  143.        EVALUATE FUNCTIONS OF INPUT-MENU
  144.        WHEN "1"
  145.           PERFORM COLLECT
  146.        WHEN "2"
  147.           PERFORM BOOK
  148.        WHEN "3"
  149.           PERFORM SESSION-INFO
  150.        WHEN "4"
  151.           PERFORM EMPLOYEES-STATISTICS
  152.        WHEN "5"
  153.           PERFORM SESSION-END
  154.        WHEN OTHER
  155.           PERFORM WRONG-INPUT
  156.        END-EVALUATE
  157.        .
  158.       *                                 # EASY P
  159.       *---------------------------------------------------------------- # EASY )
  160.       *---------------------------------------------------------------- # EASY (
  161.       **** MPUT-OPERATION ***
  162.       *---------------------------------------------------------------- # EASY *
  163.        MPUT-OPERATION.
  164.        MOVE MPUT TO KCOP
  165.       *                                 # EASY -
  166.        MOVE "NE" TO KCOM
  167.        CALL "KDCS"
  168.        USING
  169.        KCPAC, OUTPUT-AREA
  170.        IF KCRCCC > "000"
  171.        THEN
  172.           PERFORM ERROR-PEND-OPERATION
  173.        END-IF
  174.        .
  175.       *                                 # EASY P
  176.       *---------------------------------------------------------------- # EASY )
  177.       *---------------------------------------------------------------- # EASY (
  178.       **** PEND-OPERATION ***
  179.       *---------------------------------------------------------------- # EASY *
  180.        PEND-OPERATION.
  181.        MOVE PEND TO KCOP
  182.       *                                 # EASY -
  183.        MOVE PEND-MODE TO KCOM
  184.       *                                 # EASY -
  185.        MOVE NEXT-TAC TO KCRN
  186.        CALL "KDCS"
  187.        USING
  188.        KCPAC
  189.        .
  190.       *                                 # EASY P
  191.       *---------------------------------------------------------------- # EASY )
  192.       *---------------------------------------------------------------- # EASY (
  193.       **** ERROR-PEND-OPERATION ***
  194.       *---------------------------------------------------------------- # EASY *
  195.        ERROR-PEND-OPERATION.
  196.        MOVE PEND TO KCOP
  197.       *                                 # EASY -
  198.        MOVE "ER" TO KCOM
  199.        CALL "KDCS"
  200.        USING
  201.        KCPAC
  202.        .
  203.       *                                 # EASY P
  204.       *---------------------------------------------------------------- # EASY )
  205.       *---------------------------------------------------------------- # EASY (
  206.       **** ERROR-MPUT-OPERATION ***
  207.       *---------------------------------------------------------------- # EASY *
  208.        ERROR-MPUT-OPERATION.
  209.        MOVE SPACES TO ERROR-LINE
  210.       *                                 # EASY -
  211.        MOVE KCRCCC TO RET-CODE
  212.       *                                 # EASY -
  213.        MOVE " AT " TO OCCURRED-AT
  214.       *                                 # EASY -
  215.        MOVE KCOP TO OP-CODE
  216.       *                                 # EASY -
  217.        MOVE MPUT TO KCOP
  218.       *                                 # EASY -
  219.        MOVE "NE" TO KCOM,
  220.        MOVE 12 TO KCLM
  221.       *                                 # EASY -
  222.        MOVE SPACES TO KCMF, KCRN
  223.       *                                 # EASY -
  224.        MOVE KCALARM TO KCDF
  225.        CALL "KDCS"
  226.        USING
  227.        KCPAC, OUTPUT-AREA
  228.        .
  229.       *                                 # EASY P
  230.       *---------------------------------------------------------------- # EASY )
  231.       *---------------------------------------------------------------- # EASY (
  232.       **** END-OF-PROGRAM ***
  233.       *---------------------------------------------------------------- # EASY *
  234.        END-OF-PROGRAM.
  235.        EXIT PROGRAM
  236.        .
  237.       *                                 # EASY P
  238.       *---------------------------------------------------------------- # EASY )
  239.       *---------------------------------------------------------------- # EASY (
  240.       **** COLLECT ***
  241.       *---------------------------------------------------------------- # EASY *
  242.        COLLECT.
  243.        MOVE 0 TO KCLM
  244.       *                                 # EASY -
  245.        MOVE "COLLECT" TO KCRN, NEXT-TAC
  246.       *                                 # EASY -
  247.        MOVE "PR" TO PEND-MODE
  248.        .
  249.       *                                 # EASY P
  250.       *---------------------------------------------------------------- # EASY )
  251.       *---------------------------------------------------------------- # EASY (
  252.       **** BOOK ***
  253.       *---------------------------------------------------------------- # EASY *
  254.        BOOK.
  255.        MOVE ZEROES TO JOURNEY-ID OF INTERNAL-MESSAGE
  256.       *                                 # EASY -
  257.        MOVE SPACES TO WHERETOGO OF INTERNAL-MESSAGE,
  258.        NOTICE OF INTERNAL-MESSAGE
  259.       *                                 # EASY -
  260.        MOVE 104 TO KCLM
  261.       *                                 # EASY -
  262.        MOVE "BOOK" TO KCRN, NEXT-TAC
  263.       *                                 # EASY -
  264.        MOVE "PR" TO PEND-MODE
  265.        .
  266.       *                                 # EASY P
  267.       *---------------------------------------------------------------- # EASY )
  268.       *---------------------------------------------------------------- # EASY (
  269.       **** SESSION-INFO ***
  270.       *---------------------------------------------------------------- # EASY *
  271.        SESSION-INFO.
  272.        PERFORM GTDA-OPERATION
  273.        IF KCRCCC  = "000"
  274.        THEN
  275.           MOVE KCBENID TO USER-ID OF SESSINFO,
  276.           MOVE KCLOGTER TO WORKSTATION OF SESSINFO,
  277.           MOVE SESSION-START OF SESSION TO
  278.           SESSION-START OF SESSINFO,
  279.           MOVE BOOKINGS OF SESSION TO
  280.           BOOKINGS OF SESSINFO,
  281.           MOVE BOOKED-SEATS OF SESSION TO
  282.           BOOKED-SEATS OF SESSINFO,
  283.           MOVE SPACES TO NOTICE OF SESSINFO
  284.        ELSE
  285.           MOVE SPACES TO SESSINFO,
  286.           MOVE ERRORMESSAGE-2 TO NOTICE OF SESSINFO
  287.        END-IF
  288.        MOVE 118 TO KCLM
  289.       *                                 # EASY -
  290.        MOVE SPACES TO KCRN
  291.       *                                 # EASY -
  292.        MOVE "*SESSINFO" TO KCMF
  293.       *                                 # EASY -
  294.        MOVE KCREPL TO KCDF
  295.       *                                 # EASY -
  296.        MOVE "MENUOUT" TO NEXT-TAC
  297.       *                                 # EASY -
  298.        MOVE SPACES TO MENU-MESSAGE
  299.       *                                 # EASY -
  300.        MOVE "KP" TO PEND-MODE
  301.        .
  302.       *                                 # EASY P
  303.       *---------------------------------------------------------------- # EASY )
  304.       *---------------------------------------------------------------- # EASY (
  305.       **** EMPLOYEES-STATISTICS ***
  306.       *---------------------------------------------------------------- # EASY *
  307.        EMPLOYEES-STATISTICS.
  308.        PERFORM SGET-OPERATION
  309.        IF KCRCCC  = "000"
  310.        THEN
  311.           MOVE KCBENID TO USER-ID OF EMPLSTAT,
  312.           MOVE SESSIONS OF EMPLOYEE TO
  313.           SESSIONS OF EMPLSTAT,
  314.           MOVE BOOKINGS OF EMPLOYEES TO
  315.           BOOKINGS OF EMPLSTAT,
  316.           MOVE BOOKED-SEATS OF EMPLOYEE TO
  317.           BOOKED-SEATS OF EMPLSTAT,
  318.           MOVE SPACES TO NOTICE OF EMPLSTAT
  319.        ELSE
  320.           MOVE SPACES TO EMPLSTAT,
  321.           MOVE KCBENID TO USER-ID OF EMPLSTAT,
  322.           MOVE ERRORMESSAGE-3 TO NOTICE OF EMPLSTAT
  323.        END-IF
  324.        MOVE 106 TO KCLM
  325.       *                                 # EASY -
  326.        MOVE SPACES TO KCRN
  327.       *                                 # EASY -
  328.        MOVE "*EMPLSTAT" TO KCMF
  329.       *                                 # EASY -
  330.        MOVE KCREPL TO KCDF
  331.       *                                 # EASY -
  332.        MOVE "MENUOUT" TO NEXT-TAC
  333.       *                                 # EASY -
  334.        MOVE SPACES TO MENU-MESSAGE
  335.       *                                 # EASY -
  336.        MOVE "KP" TO PEND-MODE
  337.        .
  338.       *                                 # EASY P
  339.       *---------------------------------------------------------------- # EASY )
  340.       *---------------------------------------------------------------- # EASY (
  341.       **** SESSION-END ***
  342.       *---------------------------------------------------------------- # EASY *
  343.        SESSION-END.
  344.        MOVE LOW-VALUES TO KCPAC
  345.       *                                 # EASY -
  346.        MOVE SGN TO KCOP
  347.       *                                 # EASY -
  348.        MOVE "OF" TO KCOM
  349.       *                                 # EASY -
  350.        MOVE 0 TO KCLA
  351.        CALL "KDCS"
  352.        USING
  353.        KCPAC, OUTPUT-AREA
  354.        MOVE 0 TO KCLM
  355.       *                                 # EASY -
  356.        MOVE "*END" TO KCMF
  357.       *                                 # EASY -
  358.        MOVE KCREPL TO KCDF
  359.       *                                 # EASY -
  360.        MOVE SPACES TO KCRN, NEXT-TAC
  361.       *                                 # EASY -
  362.        MOVE "FI" TO PEND-MODE
  363.        .
  364.       *                                 # EASY P
  365.       *---------------------------------------------------------------- # EASY )
  366.       *---------------------------------------------------------------- # EASY (
  367.       **** WRONG-INPUT ***
  368.       *---------------------------------------------------------------- # EASY *
  369.        WRONG-INPUT.
  370.        MOVE ERRORMESSAGE-1 TO MENU-MESSAGE
  371.       *                                 # EASY -
  372.        MOVE "MENUOUT" TO KCRN, NEXT-TAC
  373.       *                                 # EASY -
  374.        MOVE 0 TO KCLM
  375.       *                                 # EASY -
  376.        MOVE "PR" TO PEND-MODE
  377.        .
  378.       *                                 # EASY P
  379.       *---------------------------------------------------------------- # EASY )
  380.       *---------------------------------------------------------------- # EASY (
  381.       **** GTDA-OPERATION ***
  382.       *---------------------------------------------------------------- # EASY *
  383.        GTDA-OPERATION.
  384.        MOVE GTDA TO KCOP
  385.       *                                 # EASY -
  386.        MOVE 22 TO KCLA
  387.       *                                 # EASY -
  388.        MOVE "SESSION" TO KCRN
  389.        CALL "KDCS"
  390.        USING
  391.        KCPAC, SESSION
  392.        .
  393.       *                                 # EASY P
  394.       *---------------------------------------------------------------- # EASY )
  395.       *---------------------------------------------------------------- # EASY (
  396.       **** SGET-OPERATION ***
  397.       *---------------------------------------------------------------- # EASY *
  398.        SGET-OPERATION.
  399.        MOVE LOW-VALUES TO KCPAC
  400.       *                                 # EASY -
  401.        MOVE SGET TO KCOP
  402.       *                                 # EASY -
  403.        MOVE "US" TO KCOM
  404.       *                                 # EASY -
  405.        MOVE 18 TO KCLA
  406.       *                                 # EASY -
  407.        MOVE "EMPLSTAT" TO KCRN
  408.       *                                 # EASY -
  409.        MOVE SPACES TO KCUS
  410.        CALL "KDCS"
  411.        USING
  412.        KCPAC, EMPLOYEE
  413.        .
  414.       *                                 # EASY P
  415.       *---------------------------------------------------------------- # EASY )
  416.       *---------------------------------------------------------------- # EASY )
  417.        END PROGRAM TOUR003.
  418.       *---------------------------------------------------------------- # EASY )
  419.